// FIR_IDENTICAL
abstract class X : java.util.ArrayList<String>(), Runnable {
    <caret>
}

// MEMBER_K2: "add(p0: String): Boolean"
// MEMBER_K2: "add(p0: Int, p1: String): Unit"
// MEMBER_K2: "addAll(p0: Collection<out String>): Boolean"
// MEMBER_K2: "addAll(p0: Int, p1: Collection<out String>): Boolean"
// MEMBER_K2: "remove(p0: String): Boolean"
// MEMBER_K2: "removeAll(p0: Collection<String>): Boolean"
// MEMBER_K2: "retainAll(p0: Collection<String>): Boolean"
// MEMBER_K2: "contains(p0: String): Boolean"
// MEMBER_K2: "containsAll(p0: Collection<String>): Boolean"
// MEMBER_K2: "forEach(p0: Consumer<in String>?): Unit"
// MEMBER_K2: "spliterator(): Spliterator<String?>"
// MEMBER_K2: "toArray(): Array<out Any?>"
// MEMBER_K2: "<T : Any?> toArray(p0: Array<out T?>): Array<out T?>"
// MEMBER_K2: "removeIf(p0: Predicate<in String>): Boolean"
// MEMBER_K2: "stream(): Stream<String?>"
// MEMBER_K2: "parallelStream(): Stream<String?>"
// MEMBER_K2: "equals(p0: Any?): Boolean"
// MEMBER_K2: "listIterator(p0: Int): MutableListIterator<String>"
// MEMBER_K2: "set(p0: Int, p1: String): String"
// MEMBER_K2: "subList(p0: Int, p1: Int): MutableList<String>"
// MEMBER_K2: "get(p0: Int): String"
// MEMBER_K2: "indexOf(p0: String): Int"
// MEMBER_K2: "lastIndexOf(p0: String): Int"
// MEMBER_K2: "sort(p0: Comparator<in String>?): Unit"

// MEMBER_K1: "add(element: String): Boolean"
// MEMBER_K1: "add(index: Int, element: String): Unit"
// MEMBER_K1: "addAll(elements: Collection<String>): Boolean"
// MEMBER_K1: "addAll(index: Int, elements: Collection<String>): Boolean"
// MEMBER_K1: "remove(element: String): Boolean"
// MEMBER_K1: "removeAll(elements: Collection<String>): Boolean"
// MEMBER_K1: "retainAll(elements: Collection<String>): Boolean"
// MEMBER_K1: "contains(element: String): Boolean"
// MEMBER_K1: "containsAll(elements: Collection<String!>): Boolean"
// MEMBER_K1: "forEach(p0: Consumer<in String!>!): Unit"
// MEMBER_K1: "spliterator(): Spliterator<String!>"
// MEMBER_K1: "toArray(): Array<(out) Any!>!"
// MEMBER_K1: "toArray(p0: Array<(out) T!>!): Array<(out) T!>!"
// MEMBER_K1: "removeIf(p0: Predicate<in String>): Boolean"
// MEMBER_K1: "stream(): Stream<String!>"
// MEMBER_K1: "parallelStream(): Stream<String!>"
// MEMBER_K1: "equals(other: Any?): Boolean"
// MEMBER_K1: "listIterator(index: Int): MutableListIterator<String>"
// MEMBER_K1: "set(index: Int, element: String): String"
// MEMBER_K1: "subList(fromIndex: Int, toIndex: Int): MutableList<String>"
// MEMBER_K1: "get(index: Int): String"
// MEMBER_K1: "indexOf(element: String): Int"
// MEMBER_K1: "lastIndexOf(element: String): Int"
// MEMBER_K1: "sort(p0: Comparator<in String!>!): Unit"

// MEMBER: "clear(): Unit"
// MEMBER: "iterator(): MutableIterator<String>"
// MEMBER: "isEmpty(): Boolean"
// MEMBER: "hashCode(): Int"
// MEMBER: "toString(): String"
// MEMBER: "listIterator(): MutableListIterator<String>"
// MEMBER: "removeAt(p0: Int): String"
// MEMBER: "replaceAll(p0: UnaryOperator<String>): Unit"
// MEMBER: "removeRange(p0: Int, p1: Int): Unit"
// MEMBER: "clone(): Any"
// MEMBER: "trimToSize(): Unit"
// MEMBER: "ensureCapacity(p0: Int): Unit"
// MEMBER: "size: Int"
// MEMBER: "run(): Unit"